{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "6c591f54",
   "metadata": {},
   "source": [
    "# 分析投标数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "86e57ad9",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "fe09d9a0",
   "metadata": {},
   "outputs": [],
   "source": [
    "#读取 projectInfo\n",
    "projectInfo= pd.read_csv('d:/data/bidding/tdz_zbs_project.csv',usecols=['stpr_id','project_code','project_name','bundle_code','project_money','specie_type_name'])\n",
    "projectInfo=projectInfo.set_index(['stpr_id','bundle_code'])\n",
    "# projectInfo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "376005eb",
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "bidInfo = pd.read_csv('d:/data/bidding/tdz_tbs_open_bid.csv',usecols=['stpr_id','project_name','project_code','bundle_code','supply_name','bid_quote','amount'])\n",
    "bidInfo = bidInfo.set_index(['stpr_id','bundle_code'])\n",
    "# bidInfo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "f6a98c41",
   "metadata": {},
   "outputs": [],
   "source": [
    "bidResult = pd.read_csv('d:/data/bidding/tdz_bsr_score_result.csv',usecols=['stpr_id','bundle_code','supply_name','ranking','flag'])\n",
    "bidResult = bidResult.set_index(['stpr_id','bundle_code'])\n",
    "# bidResult"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "43c7368a",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 把 project 和投标表合并\n",
    "bidProject = pd.merge(projectInfo,bidInfo,on=['stpr_id','bundle_code'],how='left')\n",
    "# bidProject"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "61aa98bb",
   "metadata": {},
   "outputs": [],
   "source": [
    "tmp = bidProject.query('bid_quote>0')\n",
    "# tmp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "32a89897",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\AppData\\Local\\Temp\\ipykernel_4968\\1046089033.py:1: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  tmp['amount'].fillna(-1, inplace=True)\n"
     ]
    }
   ],
   "source": [
    "tmp['amount'].fillna(-1, inplace=True)\n",
    "# np.any(pd.isnull(tmp))\n",
    "# 打印有空值的列\n",
    "for i in tmp.columns:\n",
    "    if np.any(pd.isnull(tmp[i])) ==True:\n",
    "        print(i)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "6563e641",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>project_code_x</th>\n",
       "      <th>project_name_x</th>\n",
       "      <th>project_money</th>\n",
       "      <th>specie_type_name</th>\n",
       "      <th>project_name_y</th>\n",
       "      <th>project_code_y</th>\n",
       "      <th>supply_name</th>\n",
       "      <th>amount</th>\n",
       "      <th>bid_quote</th>\n",
       "      <th>ranking</th>\n",
       "      <th>flag</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>stpr_id</th>\n",
       "      <th>bundle_code</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>16aebe0a-1bdf-4022-b2bf-0284c1a18423</th>\n",
       "      <th>1</th>\n",
       "      <td>中大招（货）[2022]1092号</td>\n",
       "      <td>中山大学医学院数字病理玻片扫描仪（荧光）采购项目</td>\n",
       "      <td>2080000.0</td>\n",
       "      <td>货物类</td>\n",
       "      <td>中山大学医学院数字病理玻片扫描仪（荧光）采购项目</td>\n",
       "      <td>中大招（货）[2022]1092号</td>\n",
       "      <td>广州睿贝医学科技有限公司</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2078500.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f7e67994-24a7-470c-8c8c-2bb14d4447e9</th>\n",
       "      <th>1</th>\n",
       "      <td>中大招（货）[2022]223号</td>\n",
       "      <td>中山大学电子与通信工程学院北斗导航创新实践平台设备采购项目</td>\n",
       "      <td>4275000.0</td>\n",
       "      <td>货物类</td>\n",
       "      <td>中山大学电子与通信工程学院北斗导航创新实践平台设备采购项目</td>\n",
       "      <td>中大招（货）[2022]223号</td>\n",
       "      <td>北京航天河科技发展有限公司</td>\n",
       "      <td>30.0</td>\n",
       "      <td>4154000.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>dcca20ed-4aea-4b4f-befe-188f226945c7</th>\n",
       "      <th>1</th>\n",
       "      <td>中大招（货）[2022]1045号</td>\n",
       "      <td>中山大学大气科学学院比较行星学综合观测平台：1米口径望远镜采购项目</td>\n",
       "      <td>6620000.0</td>\n",
       "      <td>货物类</td>\n",
       "      <td>中山大学大气科学学院比较行星学综合观测平台：1米口径望远镜采购项目</td>\n",
       "      <td>中大招（货）[2022]1045号</td>\n",
       "      <td>深圳市宝应电子有限公司</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6597144.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20153f94-a8ed-4726-ae45-209db635c34b</th>\n",
       "      <th>1</th>\n",
       "      <td>中大招（货）[2023]124号</td>\n",
       "      <td>中山大学广州校区南校园与东校园教学楼空调更换采购项目</td>\n",
       "      <td>2212900.0</td>\n",
       "      <td>货物类</td>\n",
       "      <td>中山大学广州校区南校园与东校园教学楼空调更换采购项目</td>\n",
       "      <td>中大招（货）[2023]124号</td>\n",
       "      <td>广州汉能制冷技术有限公司</td>\n",
       "      <td>8.0</td>\n",
       "      <td>1367189.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39a25800-7e53-4183-99ef-74c2c0ab12fa</th>\n",
       "      <th>1</th>\n",
       "      <td>中大招（货）[2022]1162号</td>\n",
       "      <td>中山大学电子与信息工程学院（微电子学院）光电材料刻蚀设备采购项目</td>\n",
       "      <td>14370000.0</td>\n",
       "      <td>货物类</td>\n",
       "      <td>中山大学电子与信息工程学院（微电子学院）光电材料刻蚀设备采购项目</td>\n",
       "      <td>中大招（货）[2022]1162号</td>\n",
       "      <td>中国医药保健品有限公司</td>\n",
       "      <td>4.0</td>\n",
       "      <td>14330000.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>00da2de8-cd86-4b39-973f-589bbb92d6ce</th>\n",
       "      <th>1</th>\n",
       "      <td>中大招（货）[2022]927号</td>\n",
       "      <td>中山大学材料学院超高温综合热分析仪采购项目</td>\n",
       "      <td>1850000.0</td>\n",
       "      <td>货物类</td>\n",
       "      <td>中山大学材料学院超高温综合热分析仪采购项目</td>\n",
       "      <td>中大招（货）[2022]927号</td>\n",
       "      <td>广州市晞灵国际贸易有限公司</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1849600.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>afa4fc62-ba82-40f7-b314-8b3a11f4693e</th>\n",
       "      <th>1</th>\n",
       "      <td>中大招（货）[2022]1346号</td>\n",
       "      <td>中山大学化学学院超高效液相色谱-三重四极杆质谱联用仪采购项目</td>\n",
       "      <td>2500000.0</td>\n",
       "      <td>货物类</td>\n",
       "      <td>中山大学化学学院超高效液相色谱-三重四极杆质谱联用仪采购项目</td>\n",
       "      <td>中大招（货）[2022]1346号</td>\n",
       "      <td>广州广电国际商贸有限公司</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2498000.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0e6bdb27-3de0-464f-a26e-44e251bc20b1</th>\n",
       "      <th>1</th>\n",
       "      <td>中大招（货）[2022]162号</td>\n",
       "      <td>中山大学2022年南校园部分学生宿舍热水系统维修更换采购项目</td>\n",
       "      <td>1477013.8</td>\n",
       "      <td>货物类</td>\n",
       "      <td>中山大学2022年南校园部分学生宿舍热水系统维修更换采购项目</td>\n",
       "      <td>中大招（货）[2022]162号</td>\n",
       "      <td>广州诚源科技发展有限公司</td>\n",
       "      <td>9.0</td>\n",
       "      <td>1128777.56</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f87ef8ce-8552-4c2f-bb71-9d39309e847b</th>\n",
       "      <th>1</th>\n",
       "      <td>中大招（货）[2022]1276号</td>\n",
       "      <td>中山大学环境科学与工程学院高功率多激光流式细胞仪采购项目</td>\n",
       "      <td>1720000.0</td>\n",
       "      <td>货物类</td>\n",
       "      <td>中山大学环境科学与工程学院高功率多激光流式细胞仪采购项目</td>\n",
       "      <td>中大招（货）[2022]1276号</td>\n",
       "      <td>广东省中科进出口有限公司</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1711500.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>366b7281-a8fd-4a2c-b895-fba8af4f4200</th>\n",
       "      <th>1</th>\n",
       "      <td>中大招（货）[2022]849号</td>\n",
       "      <td>中山大学电子与信息工程学院（微电子学院）高真空多靶磁控溅射系统采购项目</td>\n",
       "      <td>2600000.0</td>\n",
       "      <td>货物类</td>\n",
       "      <td>中山大学电子与信息工程学院（微电子学院）高真空多靶磁控溅射系统采购项目</td>\n",
       "      <td>中大招（货）[2022]849号</td>\n",
       "      <td>北京维开科技有限公司</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2595000.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1016 rows × 11 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                     project_code_x  \\\n",
       "stpr_id                              bundle_code                      \n",
       "16aebe0a-1bdf-4022-b2bf-0284c1a18423 1            中大招（货）[2022]1092号   \n",
       "f7e67994-24a7-470c-8c8c-2bb14d4447e9 1             中大招（货）[2022]223号   \n",
       "dcca20ed-4aea-4b4f-befe-188f226945c7 1            中大招（货）[2022]1045号   \n",
       "20153f94-a8ed-4726-ae45-209db635c34b 1             中大招（货）[2023]124号   \n",
       "39a25800-7e53-4183-99ef-74c2c0ab12fa 1            中大招（货）[2022]1162号   \n",
       "...                                                             ...   \n",
       "00da2de8-cd86-4b39-973f-589bbb92d6ce 1             中大招（货）[2022]927号   \n",
       "afa4fc62-ba82-40f7-b314-8b3a11f4693e 1            中大招（货）[2022]1346号   \n",
       "0e6bdb27-3de0-464f-a26e-44e251bc20b1 1             中大招（货）[2022]162号   \n",
       "f87ef8ce-8552-4c2f-bb71-9d39309e847b 1            中大招（货）[2022]1276号   \n",
       "366b7281-a8fd-4a2c-b895-fba8af4f4200 1             中大招（货）[2022]849号   \n",
       "\n",
       "                                                                       project_name_x  \\\n",
       "stpr_id                              bundle_code                                        \n",
       "16aebe0a-1bdf-4022-b2bf-0284c1a18423 1                       中山大学医学院数字病理玻片扫描仪（荧光）采购项目   \n",
       "f7e67994-24a7-470c-8c8c-2bb14d4447e9 1                  中山大学电子与通信工程学院北斗导航创新实践平台设备采购项目   \n",
       "dcca20ed-4aea-4b4f-befe-188f226945c7 1              中山大学大气科学学院比较行星学综合观测平台：1米口径望远镜采购项目   \n",
       "20153f94-a8ed-4726-ae45-209db635c34b 1                     中山大学广州校区南校园与东校园教学楼空调更换采购项目   \n",
       "39a25800-7e53-4183-99ef-74c2c0ab12fa 1               中山大学电子与信息工程学院（微电子学院）光电材料刻蚀设备采购项目   \n",
       "...                                                                               ...   \n",
       "00da2de8-cd86-4b39-973f-589bbb92d6ce 1                          中山大学材料学院超高温综合热分析仪采购项目   \n",
       "afa4fc62-ba82-40f7-b314-8b3a11f4693e 1                 中山大学化学学院超高效液相色谱-三重四极杆质谱联用仪采购项目   \n",
       "0e6bdb27-3de0-464f-a26e-44e251bc20b1 1                 中山大学2022年南校园部分学生宿舍热水系统维修更换采购项目   \n",
       "f87ef8ce-8552-4c2f-bb71-9d39309e847b 1                   中山大学环境科学与工程学院高功率多激光流式细胞仪采购项目   \n",
       "366b7281-a8fd-4a2c-b895-fba8af4f4200 1            中山大学电子与信息工程学院（微电子学院）高真空多靶磁控溅射系统采购项目   \n",
       "\n",
       "                                                  project_money  \\\n",
       "stpr_id                              bundle_code                  \n",
       "16aebe0a-1bdf-4022-b2bf-0284c1a18423 1                2080000.0   \n",
       "f7e67994-24a7-470c-8c8c-2bb14d4447e9 1                4275000.0   \n",
       "dcca20ed-4aea-4b4f-befe-188f226945c7 1                6620000.0   \n",
       "20153f94-a8ed-4726-ae45-209db635c34b 1                2212900.0   \n",
       "39a25800-7e53-4183-99ef-74c2c0ab12fa 1               14370000.0   \n",
       "...                                                         ...   \n",
       "00da2de8-cd86-4b39-973f-589bbb92d6ce 1                1850000.0   \n",
       "afa4fc62-ba82-40f7-b314-8b3a11f4693e 1                2500000.0   \n",
       "0e6bdb27-3de0-464f-a26e-44e251bc20b1 1                1477013.8   \n",
       "f87ef8ce-8552-4c2f-bb71-9d39309e847b 1                1720000.0   \n",
       "366b7281-a8fd-4a2c-b895-fba8af4f4200 1                2600000.0   \n",
       "\n",
       "                                                 specie_type_name  \\\n",
       "stpr_id                              bundle_code                    \n",
       "16aebe0a-1bdf-4022-b2bf-0284c1a18423 1                        货物类   \n",
       "f7e67994-24a7-470c-8c8c-2bb14d4447e9 1                        货物类   \n",
       "dcca20ed-4aea-4b4f-befe-188f226945c7 1                        货物类   \n",
       "20153f94-a8ed-4726-ae45-209db635c34b 1                        货物类   \n",
       "39a25800-7e53-4183-99ef-74c2c0ab12fa 1                        货物类   \n",
       "...                                                           ...   \n",
       "00da2de8-cd86-4b39-973f-589bbb92d6ce 1                        货物类   \n",
       "afa4fc62-ba82-40f7-b314-8b3a11f4693e 1                        货物类   \n",
       "0e6bdb27-3de0-464f-a26e-44e251bc20b1 1                        货物类   \n",
       "f87ef8ce-8552-4c2f-bb71-9d39309e847b 1                        货物类   \n",
       "366b7281-a8fd-4a2c-b895-fba8af4f4200 1                        货物类   \n",
       "\n",
       "                                                                       project_name_y  \\\n",
       "stpr_id                              bundle_code                                        \n",
       "16aebe0a-1bdf-4022-b2bf-0284c1a18423 1                       中山大学医学院数字病理玻片扫描仪（荧光）采购项目   \n",
       "f7e67994-24a7-470c-8c8c-2bb14d4447e9 1                  中山大学电子与通信工程学院北斗导航创新实践平台设备采购项目   \n",
       "dcca20ed-4aea-4b4f-befe-188f226945c7 1              中山大学大气科学学院比较行星学综合观测平台：1米口径望远镜采购项目   \n",
       "20153f94-a8ed-4726-ae45-209db635c34b 1                     中山大学广州校区南校园与东校园教学楼空调更换采购项目   \n",
       "39a25800-7e53-4183-99ef-74c2c0ab12fa 1               中山大学电子与信息工程学院（微电子学院）光电材料刻蚀设备采购项目   \n",
       "...                                                                               ...   \n",
       "00da2de8-cd86-4b39-973f-589bbb92d6ce 1                          中山大学材料学院超高温综合热分析仪采购项目   \n",
       "afa4fc62-ba82-40f7-b314-8b3a11f4693e 1                 中山大学化学学院超高效液相色谱-三重四极杆质谱联用仪采购项目   \n",
       "0e6bdb27-3de0-464f-a26e-44e251bc20b1 1                 中山大学2022年南校园部分学生宿舍热水系统维修更换采购项目   \n",
       "f87ef8ce-8552-4c2f-bb71-9d39309e847b 1                   中山大学环境科学与工程学院高功率多激光流式细胞仪采购项目   \n",
       "366b7281-a8fd-4a2c-b895-fba8af4f4200 1            中山大学电子与信息工程学院（微电子学院）高真空多靶磁控溅射系统采购项目   \n",
       "\n",
       "                                                     project_code_y  \\\n",
       "stpr_id                              bundle_code                      \n",
       "16aebe0a-1bdf-4022-b2bf-0284c1a18423 1            中大招（货）[2022]1092号   \n",
       "f7e67994-24a7-470c-8c8c-2bb14d4447e9 1             中大招（货）[2022]223号   \n",
       "dcca20ed-4aea-4b4f-befe-188f226945c7 1            中大招（货）[2022]1045号   \n",
       "20153f94-a8ed-4726-ae45-209db635c34b 1             中大招（货）[2023]124号   \n",
       "39a25800-7e53-4183-99ef-74c2c0ab12fa 1            中大招（货）[2022]1162号   \n",
       "...                                                             ...   \n",
       "00da2de8-cd86-4b39-973f-589bbb92d6ce 1             中大招（货）[2022]927号   \n",
       "afa4fc62-ba82-40f7-b314-8b3a11f4693e 1            中大招（货）[2022]1346号   \n",
       "0e6bdb27-3de0-464f-a26e-44e251bc20b1 1             中大招（货）[2022]162号   \n",
       "f87ef8ce-8552-4c2f-bb71-9d39309e847b 1            中大招（货）[2022]1276号   \n",
       "366b7281-a8fd-4a2c-b895-fba8af4f4200 1             中大招（货）[2022]849号   \n",
       "\n",
       "                                                    supply_name  amount  \\\n",
       "stpr_id                              bundle_code                          \n",
       "16aebe0a-1bdf-4022-b2bf-0284c1a18423 1             广州睿贝医学科技有限公司     1.0   \n",
       "f7e67994-24a7-470c-8c8c-2bb14d4447e9 1            北京航天河科技发展有限公司    30.0   \n",
       "dcca20ed-4aea-4b4f-befe-188f226945c7 1              深圳市宝应电子有限公司     1.0   \n",
       "20153f94-a8ed-4726-ae45-209db635c34b 1             广州汉能制冷技术有限公司     8.0   \n",
       "39a25800-7e53-4183-99ef-74c2c0ab12fa 1              中国医药保健品有限公司     4.0   \n",
       "...                                                         ...     ...   \n",
       "00da2de8-cd86-4b39-973f-589bbb92d6ce 1            广州市晞灵国际贸易有限公司     1.0   \n",
       "afa4fc62-ba82-40f7-b314-8b3a11f4693e 1             广州广电国际商贸有限公司     1.0   \n",
       "0e6bdb27-3de0-464f-a26e-44e251bc20b1 1             广州诚源科技发展有限公司     9.0   \n",
       "f87ef8ce-8552-4c2f-bb71-9d39309e847b 1             广东省中科进出口有限公司     1.0   \n",
       "366b7281-a8fd-4a2c-b895-fba8af4f4200 1               北京维开科技有限公司     1.0   \n",
       "\n",
       "                                                    bid_quote  ranking  flag  \n",
       "stpr_id                              bundle_code                              \n",
       "16aebe0a-1bdf-4022-b2bf-0284c1a18423 1             2078500.00      1.0   1.0  \n",
       "f7e67994-24a7-470c-8c8c-2bb14d4447e9 1             4154000.00      1.0   1.0  \n",
       "dcca20ed-4aea-4b4f-befe-188f226945c7 1             6597144.00      1.0   1.0  \n",
       "20153f94-a8ed-4726-ae45-209db635c34b 1             1367189.00      1.0   1.0  \n",
       "39a25800-7e53-4183-99ef-74c2c0ab12fa 1            14330000.00      1.0   1.0  \n",
       "...                                                       ...      ...   ...  \n",
       "00da2de8-cd86-4b39-973f-589bbb92d6ce 1             1849600.00      1.0   1.0  \n",
       "afa4fc62-ba82-40f7-b314-8b3a11f4693e 1             2498000.00      1.0   1.0  \n",
       "0e6bdb27-3de0-464f-a26e-44e251bc20b1 1             1128777.56      1.0   1.0  \n",
       "f87ef8ce-8552-4c2f-bb71-9d39309e847b 1             1711500.00      1.0   1.0  \n",
       "366b7281-a8fd-4a2c-b895-fba8af4f4200 1             2595000.00      1.0   1.0  \n",
       "\n",
       "[1016 rows x 11 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 合并评分表\n",
    "\n",
    "result = pd.merge(tmp,bidResult,on=['stpr_id','bundle_code','supply_name'],how='left')\n",
    "\n",
    "# bidProject.query('project_money>bid_quote')\n",
    "result = result.query('ranking==1 & flag==1')\n",
    "\n",
    "# 去重，因为在评分时，多位专家对同一个供应商评分排名相同时，会出现重复\n",
    "data = result.drop_duplicates()\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "aefa989b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1016, 11)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "9c6130ef",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>project_money</th>\n",
       "      <th>amount</th>\n",
       "      <th>bid_quote</th>\n",
       "      <th>ranking</th>\n",
       "      <th>flag</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>1.016000e+03</td>\n",
       "      <td>1016.000000</td>\n",
       "      <td>1.016000e+03</td>\n",
       "      <td>1016.0</td>\n",
       "      <td>1016.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>4.543239e+06</td>\n",
       "      <td>367.149606</td>\n",
       "      <td>4.088815e+06</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>1.482154e+07</td>\n",
       "      <td>6920.475595</td>\n",
       "      <td>1.456039e+07</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>-1.000000</td>\n",
       "      <td>7.400000e-01</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1.500000e+06</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.324500e+06</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>2.356362e+06</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.078000e+06</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>4.192500e+06</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>3.905388e+06</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>4.000000e+08</td>\n",
       "      <td>199800.000000</td>\n",
       "      <td>3.983800e+08</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       project_money         amount     bid_quote  ranking    flag\n",
       "count   1.016000e+03    1016.000000  1.016000e+03   1016.0  1016.0\n",
       "mean    4.543239e+06     367.149606  4.088815e+06      1.0     1.0\n",
       "std     1.482154e+07    6920.475595  1.456039e+07      0.0     0.0\n",
       "min     0.000000e+00      -1.000000  7.400000e-01      1.0     1.0\n",
       "25%     1.500000e+06       1.000000  1.324500e+06      1.0     1.0\n",
       "50%     2.356362e+06       1.000000  2.078000e+06      1.0     1.0\n",
       "75%     4.192500e+06       2.000000  3.905388e+06      1.0     1.0\n",
       "max     4.000000e+08  199800.000000  3.983800e+08      1.0     1.0"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_corr = data.describe()\n",
    "data_corr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "4c7e8bf6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>project_money</th>\n",
       "      <th>amount</th>\n",
       "      <th>bid_quote</th>\n",
       "      <th>ranking</th>\n",
       "      <th>flag</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>project_money</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.999979</td>\n",
       "      <td>-0.999979</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>amount</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.999978</td>\n",
       "      <td>-0.999978</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>bid_quote</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.999979</td>\n",
       "      <td>-0.999979</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ranking</th>\n",
       "      <td>-0.999979</td>\n",
       "      <td>-0.999978</td>\n",
       "      <td>-0.999979</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>flag</th>\n",
       "      <td>-0.999979</td>\n",
       "      <td>-0.999978</td>\n",
       "      <td>-0.999979</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               project_money    amount  bid_quote   ranking      flag\n",
       "project_money       1.000000  1.000000   1.000000 -0.999979 -0.999979\n",
       "amount              1.000000  1.000000   1.000000 -0.999978 -0.999978\n",
       "bid_quote           1.000000  1.000000   1.000000 -0.999979 -0.999979\n",
       "ranking            -0.999979 -0.999978  -0.999979  1.000000  1.000000\n",
       "flag               -0.999979 -0.999978  -0.999979  1.000000  1.000000"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_corr = data_corr.corr()\n",
    "data_corr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "4f1b4325",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: >"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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cOXKFSxatAh9+vTRqk1dYRJHREREsqZUKqtN2srZ2trCyMiowghZXl5ehZG06vj6+mLLli3q1w4ODpLb1AanU4mIiEj/DLA71dTUFD169MD+/fs1yvfv3w9/f/9at5OWlgZHR0f1az8/vwpt/vDDD3VqUxsciSMiIiL90+F0al2EhYUhODgYPj4+8PPzw7p165CdnY1JkyYBeDA1m5OTg02bNgEAoqOj4eLigs6dO6OoqAhbtmxBXFwc4uLi1G2+88476NOnDz755BM899xz2L17N3788UccOXKkXq+FSRwRERE1GqNGjcKNGzcQGRkJlUoFLy8vxMfHw9nZGQCgUqk07hlXVFSEadOmIScnB+bm5ujcuTO+//57PP300+o6/v7++OqrrzB79mx88MEHaN++PbZv347evXvX67XwPnGNDO/XVXe815n2GDtpeJ847fE+cdLo4z5xdyNG66ytphH1dy+2howjcURERKR/BppO/TfhxgYiIiIiGeJIHBEREelfHZ95ShUxiSMiIiL943SqZEziiIiISO9EGUfipOKaOCIiIiIZYhInMyEhIRg+fLihu6EzJ9PP4q3pc/Dks6/AK2AIEg8fNXSXZIOx0x5jJ93w4UMQ/10scq+eRUlRDrp27WzoLskK44cH06m6OhopJnFkUPfv/w13N1fMDHvT0F2RHcZOe4yddE2bWuBocgpmzvrI0F2RJcYPTOJ0oFEmcQkJCXjiiSfQokUL2NjYYOjQobh48SIA4PLly1AoFNixYwcCAwNhbm6Onj174sKFC0hJSYGPjw+aNWuGwYMH488//1S3WVZWhsjISDz22GNQKpXo1q0bEhIS1O8nJSVBoVDg1q1b6rL09HQoFApcvnwZABATE4MWLVpg37598PDwUH+OSqUCAERERGDjxo3YvXs3FAoFFAoFkpKS6j1e9SnQryemTHgVA4ICDN0V2WHstMfYSRcbG4f5C6KReOAnQ3dFlhg/0oVGmcTdvXsXYWFhSElJQWJiIpo0aYLnn38eZQ8tspwzZw5mz56NU6dOwdjYGKNHj8b06dOxbNky/PTTT7h48SI+/PBDdf1ly5Zh8eLFWLRoEc6cOYNBgwbh2WefRVZWVp36du/ePSxatAibN2/G4cOHkZ2djWnTpgEApk2bhpEjR6oTO5VKVe8P1yUiIqoXunjwffnRSDXK3akv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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plt.figure(figsize=(20,8),dpi=100)\n",
    "\n",
    "sns.heatmap(data_corr,linewidths=0.1,annot=True)\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
